SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE PROCEDURE [dbo].[SP_TTULTI_ASTO_Q02]  
/*--------------------------------------------------------*/  
/*---Sistema              : Tesoreria                   --*/  
/*---M©dulo               : Empresa                     --*/  
/*---Programa             : Devuelve el œltimo asiento  --*/  
/*---                       de un libro contable  --*/  
/*---                       (Exclusivamente Gener.Ch/.) --*/   
/*---Nombre SP            : SP_TTULTI_ASTO_Q02         --*/  
/*---Desarrollado por     : Reynaldo Menacho Luyo       --*/  
/*---Fecha Creaci©n       : 11/06/1999                  --*/  
/*---Base Datos           : Microsoft Sql Server        --*/  
/*---Versi©n              : 2000                        --*/  
/*---Invoca a SP          :                             --*/  
/*-------------------------------------------------------*/  
  
/*---------------------------------------------------------*/  
/*---Modificado 1 por     :Luz Maribel Julca Rodriguez   --*/  
/*---Fecha Modificaciön   :19/04/2005                    --*/   
/*---Detalle Modificaciön :ingresos de los campos CO_USUA_CREA, CO_USUA_MODI--*/  
/*---------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TTULTI_ASTO_Q02                     --*/  
/*---Grant all on SP_TTULTI_ASTO_Q02 to public         --*/   
/*--- SP_TTULTI_ASTO_Q02 '01', '001', 'B01', '2003/01/20', '00000097' --*/  
/*-------------------------------------------------------*/  
@ISCO_EMPR TD_VC_002,
@ISCO_USUA_MODI  TD_VC_008_USUA,  
@ISCO_UNID_CONC TD_VC_003,  
@ISCO_TIPO_OPER TD_VC_003,  
@IDFE_OPER TD_DT_001,  
@ISNU_ASTO TD_VC_010 OUTPUT,  
@INNU_ERRO TD_IN_001 OUTPUT
	As
Declare  
  @VNNU_ANNO       TD_IN_001,  
  @VNNU_MESE       TD_IN_001,  
  @VNNU_ULTI_ASTO  TD_IN_001,  
  @VSCO_OPRC_CNTB  TD_VC_003,  
  @VSNU_CORR_VENT  TD_VC_008  
  
  
         Select @VNNU_ANNO = Datepart (Year,@IDFE_OPER )  
         Select @VNNU_MESE = Datepart (Month,@IDFE_OPER )  
         
         Select   @VSCO_OPRC_CNTB = CO_OPRC_CNTB  
         From     TDTIPO_OPER   
         Where    CO_EMPR = @ISCO_EMPR  
            And CO_TIPO_OPER = @ISCO_TIPO_OPER  
         Group By CO_OPRC_CNTB   
  
  Select @VNNU_ULTI_ASTO = ISNULL(NU_ULTI_ASTO, 0) + 1  
         From   TCFECH_PROC  
         Where  CO_EMPR = @ISCO_EMPR  
          And NU_CNTB_EMPR = 1  
          And NU_ANNO = @VNNU_ANNO  
          And NU_MESE = @VNNU_MESE  
          And CO_UNID_CNTB = @ISCO_UNID_CONC  
          And CO_OPRC_CNTB = @VSCO_OPRC_CNTB  
  
  
         Select @VSNU_CORR_VENT = @VSCO_OPRC_CNTB + Replicate('0',5-datalength(Convert(Varchar(10),@VNNU_ULTI_ASTO))) + 
Convert(Varchar(10),@VNNU_ULTI_ASTO)  
         SELECT @ISNU_ASTO = @VSNU_CORR_VENT  
  
         Update TCFECH_PROC   
  Set  NU_ULTI_ASTO = @VNNU_ULTI_ASTO,
	   CO_USUA_MODI = @ISCO_USUA_MODI,  
       FE_USUA_MODI = GETDATE()    
         Where  CO_EMPR = @ISCO_EMPR  
          And NU_CNTB_EMPR = 1  
          And NU_ANNO = @VNNU_ANNO  
          And NU_MESE = @VNNU_MESE  
          And CO_UNID_CNTB = @ISCO_UNID_CONC  
          And CO_OPRC_CNTB = @VSCO_OPRC_CNTB  
  
         If (@@ERROR != 0)  
            Begin   
       Select @INNU_ERRO = 99  
       RAISERROR 20001 'ERROR DE INSERCION'  
       RETURN  
     END  
  
Select @ISNU_ASTO  
Select @INNU_ERRO = 0  
  
Return  
  
/*------------------------------ FIN ------------------------------*/


GO
